<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>class REXML::Child - rexml: Ruby Standard Library Documentation</title>


<script src="../js/navigation.js" defer></script>
<script src="../js/search.js" defer></script>
<script src="../js/search_index.js" defer></script>
<script src="../js/searcher.js" defer></script>
<script src="../js/darkfish.js" defer></script>

<script src="../js/jquery-3.2.0.min.js"></script>

<script src="../js/vue.min.js"></script>
<script src="../js/js.cookie.min.js"></script>

<link href="../css/fonts.css" rel="stylesheet">
<link id='rdoccss' href="../css/rdoc.css" rel="stylesheet">
<link href="../css/carbon17.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "../";
  var index_rel_prefix = "../";
  var darkModeCsseHref = "../css/rdoc-dm.css"
  var defaultModeCssHref = "../css/rdoc.css"
  // var cssDarkmode = Cookies.get('darkmode');
  
  if( Cookies.get("darkmode") == "true") {
	$('#rdoccss').attr("href", darkModeCsseHref);
}

//  https://cssdeck.com/blog/simple-jquery-stylesheet-switcher/

document.write('<style type="text/css">body{display:none}</style>');

</script>


</head>
<body id="top" role="document" class="class">
  <!-- this is class.html -->

  <div id='actionbar' >
    <div class='wrapper mdiv'>
      <ul class='grids g0'></ul>
    </div> 
    <!-- VERSION HEADER for 3.3.0.preview2 NOT FOUND -->
  </div> <!-- end action bar -->

  <div class='wrapper hdiv'>

    


    <nav id='vapp' role="navigation">
    <div id="project-navigation">
      <div id="home-section" role="region" title="Quick navigation" class="nav-section">
  <h2><a href="../index.html" rel="home">Home</a></h2>

  <div id="table-of-contents-navigation"  >
    <a href="../table_of_contents.html#pages">Pages</a>
    <a href="../table_of_contents.html#classes">Classes</a>
    <a href="../table_of_contents.html#methods">Methods</a>
  </div>
</div>

      <div id="search-section" role="search" class="project-section initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <div id="search-field-wrapper">
      <input id="search-field" role="combobox" aria-label="Search"
             aria-autocomplete="list" aria-controls="search-results"
             type="text" name="search" placeholder="Search" spellcheck="false"
             title="Type to search, Up and Down to navigate, Enter to load">
    </div>

    <ul id="search-results" aria-label="Search Results"
        aria-busy="false" aria-expanded="false"
        aria-atomic="false" class="initially-hidden"></ul>
  </form>
</div>

    </div>


    

    <button id='toggleThing' @click="toggleNav()" >Show/hide navigation</button>
    <div :class="isOpen ? 'block' : 'hidden' " id='toggleMe'>
      <div id="class-metadata">
        
        
<div id="parent-class-section" class="nav-section">
  <h3>Parent</h3>

  <p class="link">Object
</div>

        
<div id="includes-section" class="nav-section">
  <h3>Included Modules</h3>

  <ul class="link-list">
    <li><a class="include" href="Node.html">REXML::Node</a>
  </ul>
</div>

        
        
<!-- Method Quickref -->
<div id="method-list-section" class="nav-section">
  <h3>Methods</h3>

  <ul class="link-list" role="directory">
    <li ><a href="#method-c-new">::new</a>
    <li ><a href="#method-i-bytes">#bytes</a>
    <li ><a href="#method-i-document">#document</a>
    <li ><a href="#method-i-next_sibling-3D">#next_sibling=</a>
    <li ><a href="#method-i-parent-3D">#parent=</a>
    <li ><a href="#method-i-previous_sibling-3D">#previous_sibling=</a>
    <li ><a href="#method-i-remove">#remove</a>
    <li ><a href="#method-i-replace_with">#replace_with</a>
  </ul>
</div>

      </div>
     </div>
    </nav>


    <div id='extraz'><div class='adzbox-index'  >
      
     </div>         
    </div>

    <main role="main" aria-labelledby="class-REXML::Child">
    <h1 id="class-REXML::Child" class="class">
      class REXML::Child
    </h1>

    <section class="description">
    
<p>A <a href="Child.html"><code>Child</code></a> object is something contained by a parent, and this class contains methods to support that.  Most user code will not use this class directly.</p>

    </section>

      <section id="5Buntitled-5D" class="documentation-section">



        <section class="attribute-method-details" class="method-section">
        <header>
        <h3>Attributes</h3>
        </header>

          <div id="attribute-i-parent" class="method-detail">
            <div class="method-heading attribute-method-heading">
              <span class="method-name">parent</span><span
                class="attribute-access-type">[R]</span>
            </div>

            <div class="method-description">
              
              </div>
            </div>
            </section>


                <section id="public-class-5Buntitled-5D-method-details" class="method-section">
                <header>
                <h3>Public Class Methods</h3>
                </header>

                  <div id="method-c-new" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">new</span><span
                                class="method-args">( parent = nil )</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Constructor.  Any inheritors of this class should call super to make sure this method is called.</p>
<dl class="rdoc-list note-list"><dt>parent
<dd>
<p>if supplied, the parent of this child will be set to the supplied value, and self will be added to the parent</p>
</dd></dl>

                              <div class="method-source-code" id="new-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 18</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>( <span class="ruby-identifier">parent</span> = <span class="ruby-keyword">nil</span> )
  <span class="ruby-ivar">@parent</span> = <span class="ruby-keyword">nil</span>
  <span class="ruby-comment"># Declare @parent, but don&#39;t define it.  The next line sets the</span>
  <span class="ruby-comment"># parent.</span>
  <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">add</span>( <span class="ruby-keyword">self</span> ) <span class="ruby-keyword">if</span> <span class="ruby-identifier">parent</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                          </section>

                <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
                <header>
                <h3>Public Instance Methods</h3>
                </header>

                  <div id="method-i-bytes" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">bytes</span><span
                                class="method-args">()</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>This doesn’t yet handle encodings</p>

                              <div class="method-source-code" id="bytes-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 91</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bytes</span>
  <span class="ruby-identifier">document</span>.<span class="ruby-identifier">encoding</span>

  <span class="ruby-identifier">to_s</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-document" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">document</span><span
                                class="method-args">()</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>the document this child belongs to, or nil if this child</p>
</dd></dl>

<p>belongs to no document</p>

                              <div class="method-source-code" id="document-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 85</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">document</span>
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">document</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
  <span class="ruby-keyword">nil</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-next_sibling-3D" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">next_sibling=</span><span
                                class="method-args">( other )</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Sets the next sibling of this child.  This can be used to insert a child after some other child.</p>

<pre class="ruby"><span class="ruby-identifier">a</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;a&quot;</span>)
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">add_element</span>(<span class="ruby-string">&quot;b&quot;</span>)
<span class="ruby-identifier">c</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;c&quot;</span>)
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">next_sibling</span> = <span class="ruby-identifier">c</span>
<span class="ruby-comment"># =&gt; &lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;</span>
</pre>

                              <div class="method-source-code" id="next_sibling-3D-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 68</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">next_sibling=</span>( <span class="ruby-identifier">other</span> )
  <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">insert_after</span> <span class="ruby-keyword">self</span>, <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-parent-3D" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">parent=</span><span
                                class="method-args">( other )</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Sets the parent of this child to the supplied argument.</p>
<dl class="rdoc-list note-list"><dt>other
<dd>
<p>Must be a <a href="Parent.html"><code>Parent</code></a> object.  If this object is the same object as the existing parent of this child, no action is taken. Otherwise, this child is removed from the current parent (if one exists), and is added to the new parent.</p>
</dd><dt>Returns
<dd>
<p>The parent added</p>
</dd></dl>

                              <div class="method-source-code" id="parent-3D-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 52</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">parent=</span>( <span class="ruby-identifier">other</span> )
  <span class="ruby-keyword">return</span> <span class="ruby-ivar">@parent</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>
  <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword">self</span> <span class="ruby-keyword">if</span> <span class="ruby-keyword">defined?</span> <span class="ruby-ivar">@parent</span> <span class="ruby-keyword">and</span> <span class="ruby-ivar">@parent</span>
  <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-previous_sibling-3D" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">previous_sibling=</span><span
                                class="method-args">(other)</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Sets the previous sibling of this child.  This can be used to insert a child before some other child.</p>

<pre class="ruby"><span class="ruby-identifier">a</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;a&quot;</span>)
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">add_element</span>(<span class="ruby-string">&quot;b&quot;</span>)
<span class="ruby-identifier">c</span> = <span class="ruby-constant">Element</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;c&quot;</span>)
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">previous_sibling</span> = <span class="ruby-identifier">c</span>
<span class="ruby-comment"># =&gt; &lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;</span>
</pre>

                              <div class="method-source-code" id="previous_sibling-3D-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 79</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">previous_sibling=</span>(<span class="ruby-identifier">other</span>)
  <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">insert_before</span> <span class="ruby-keyword">self</span>, <span class="ruby-identifier">other</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-remove" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">remove</span><span
                                class="method-args">()</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Removes this child from the parent.</p>
<dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>self</p>
</dd></dl>

                              <div class="method-source-code" id="remove-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 37</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">remove</span>
  <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">nil?</span>
    <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">delete</span> <span class="ruby-keyword">self</span>
  <span class="ruby-keyword">end</span>
  <span class="ruby-keyword">self</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-i-replace_with" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">replace_with</span><span
                                class="method-args">( child )</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Replaces this object with another object.  Basically, calls <a href="Parent.html#method-i-replace_child"><code>Parent.replace_child</code></a></p>
<dl class="rdoc-list note-list"><dt>Returns
<dd>
<p>self</p>
</dd></dl>

                              <div class="method-source-code" id="replace_with-source">
            <pre><span class="ruby-comment"># File rexml-3.2.6/lib/rexml/child.rb, line 29</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">replace_with</span>( <span class="ruby-identifier">child</span> )
  <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">replace_child</span>( <span class="ruby-keyword">self</span>, <span class="ruby-identifier">child</span> )
  <span class="ruby-keyword">self</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                          </section>

              </section>
              </main>



            </div>  <!--  class='wrapper hdiv' -->


<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a></p>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.</p>
<p>Based on <a href="https://github.com/ged/darkfish/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.</p>

  
    <p><p><a href="https://ruby-doc.org">Ruby-doc.org</a> is provided by <a href="https://jamesbritt.com">James Britt</a> and <a href="https://neurogami.com">Neurogami</a>.</p><p><a href="https://jamesbritt.bandcamp.com/">Maximum R+D</a>.  </p>
</p>
  
  </footer>

<script type="text/javascript">


  let ads  = $("#carbonads-container").children().detach();


  function swapMode() {
    var cookieName = 'darkmode';
    var cssDarkmode = Cookies.get(cookieName);
    console.log("***** swapMode! " + cssDarkmode + " *****");


    if (cssDarkmode == "true") {
      console.log("We have dark mode, set the css to light ...");
      $('#rdoccss').attr("href", defaultModeCssHref);
      $('#cssSelect').text("Dark mode");
      cssDarkmode = "false";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    } else {
      console.log("We not have dark mode, set the css to dark ...");
      $('#rdoccss').attr("href", darkModeCsseHref);
      $('#cssSelect').text("Light mode");
      cssDarkmode = "true";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    }

    console.log("  --------------- ");
  }


const vueCssApp = new Vue({
el: '#menubar',
data: {
isDark: false
},
methods: {
toggleClass: function(event){
this.isDark = !this.isDark;
}
}
})

const vueApp = new Vue({
el: '#vapp',
data: { 
isOpen: true
},

mounted() {
this.handleResize();
this.manage_mob_classes();
window.addEventListener('resize', this.handleResize)
//this.isOpen !=  (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},
destroyed() {
window.removeEventListener('resize', this.handleResize)
},
created() {
//manage_mob_classes();
},

methods : {
isMobile() {
  return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},

  handleResize() {
    if (!this.isMobile()) {
      this.isOpen = window.innerWidth > 800;
    }
  },

  manage_mob_classes() {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $("nav").addClass("mob_nav");
      $("main").addClass("mob_main");
      $("#extraz").addClass("mob_extraz");
      $("#carbonads-container").addClass("mob_carbonads-container");
      this.isOpen  = false;
    } else {
      $("nav").removeClass("mob_nav") 
        $("main").removeClass("mob_main");
      $("#extraz").removeClass("mob_extraz");
      $("#carbonads-container").removeClass("mob_carbonads-container");
      this.isOpen  = true;
    }
  },

  toggleNav() {
    this.isOpen =! this.isOpen ;
    // alert("Toggle nav!");
    console.log("toggleNav() click: " + this.isOpen );
  }
}
})

$("#carbonads-container").append(ads);


$(function() {

    var darkmode = Cookies.get("darkmode");
    console.log("Document ready: " + darkmode);

    if ( darkmode  == "true" ) {
      $('#cssSelect').text("Light mode");
    } else {
      $('#cssSelect').text("Dark mode");
     }

    $('body').css('display','block');
    });

</script>

    
  </body> 
</html>

